<html>
<title>SNUVM 0.2 help contents
</title>
<body>
<center>
<h3>SNUVM - Seoul National University Assembly-executable Virtual Machine</h3>
<h4>Release 0.3</h4>
<h4>February 2010</h4>
<h4>Introduction</h4>
</center>

SNUVM, the <b>S</b>NU <b>A</b>ssembly-executable <b>V</b>irtual <b>M</b>achine,
will assemble several kinds of assembly source files(currently, ARM9 is solely supported) and interprets output with built-in OS system-call services. SNUVM v0.1 is extended from MARS (http://courses.missouristate.edu/KenVollmar/MARS/). MARS basically mimics MIPS architecture, but SNUVM is extended to support multiple architectures including ARM9 architecture. SNUVM is written in Java with eclipse and requires at least Release 1.4 of the J2SE Java Runtime Environment (JRE) to work. It is distributed as an executable JAR file. The SNUVM home page is http://snuvm.snu.ac.kr/. Source codes and documents is available for copying there.

<p>As of Release 0.3, SNUVM assembles and simulates 26 basic instructions of the ARM9
instruction set, 5 pseudo-instructions or instruction variations, the 17 syscall functions
mainly for console and file I/O defined by SPIM, and an additional 21 syscalls for other uses such as MIDI
output, Video output(MMIO, 0xD0000), random number generation and more.  These are listed in separate help tabs.

<p>The SNUVM IDE provides program editing and assembling but its real
strength is its support for interactive debugging.  The programmer can easily set and 
remove execution breakpoints or step through execution forward or backward (undo) while
viewing and directly editing register and memory contents.

<h4>Questions and Comments</h4>
Send SNUVM questions and comments to 
Jeongho Nah at <tt>njh1983@korea.com</tt>
We will respond as quickly as we can. The Tutorial handout is available from the SNUVM homepage.
<p>
<hr>
<p>
This document is available for printing on the SNUVM home page
<tt><b>http://snuvm.snu.ac.kr/</b></tt>.
</body>
</html>